package com.lovejes.cuniao.domain.base;

import java.io.Serializable;


/**
 * This is an object that contains data related to the cn_friend table.
 * Do not modify this class because it will be overwritten if the configuration file
 * related to this class is modified.
 *
 * @hibernate.class
 *  table="cn_friend"
 */

public abstract class BaseCnFriend  implements Serializable {

	public static String REF = "CnFriend";
	public static String PROP_REMARK = "Remark";
	public static String PROP_ISGZ = "Isgz";
	public static String PROP_GROUPID = "Groupid";
	public static String PROP_USERID = "Userid";
	public static String PROP_CREATETIME = "Createtime";
	public static String PROP_ISHXGZ = "Ishxgz";
	public static String PROP_FUSERID = "Fuserid";
	public static String PROP_SPELL = "Spell";
	public static String PROP_SIMPSPELL = "Simpspell";
	public static String PROP_ID = "Id";
	public static String PROP_INTIMATE = "Intimate";


	// constructors
	public BaseCnFriend () {
		initialize();
	}

	/**
	 * Constructor for primary key
	 */
	public BaseCnFriend (java.lang.String id) {
		this.setId(id);
		initialize();
	}

	protected void initialize () {}



	private int hashCode = Integer.MIN_VALUE;

	// primary key
	private java.lang.String id;

	// fields
	private java.lang.String userid;
	private java.lang.String fuserid;
	private java.lang.String groupid;
	private java.lang.String isgz;
	private java.lang.String ishxgz;
	private java.lang.String spell;
	private java.lang.String simpspell;
	private java.util.Date createtime;
	private java.lang.String remark;
	private java.lang.String intimate;


	/**
	 * Return the unique identifier of this class
     * @hibernate.id
     *  generator-class="uuid"
     *  column="ID"
     */
	public java.lang.String getId () {
		return id;
	}

	/**
	 * Set the unique identifier of this class
	 * @param id the new ID
	 */
	public void setId (java.lang.String id) {
		this.id = id;
		this.hashCode = Integer.MIN_VALUE;
	}




	/**
	 * Return the value associated with the column: USERID
	 */
	public java.lang.String getUserid () {
		return userid;
	}

	/**
	 * Set the value related to the column: USERID
	 * @param userid the USERID value
	 */
	public void setUserid (java.lang.String userid) {
		this.userid = userid;
	}



	/**
	 * Return the value associated with the column: FUSERID
	 */
	public java.lang.String getFuserid () {
		return fuserid;
	}

	/**
	 * Set the value related to the column: FUSERID
	 * @param fuserid the FUSERID value
	 */
	public void setFuserid (java.lang.String fuserid) {
		this.fuserid = fuserid;
	}



	/**
	 * Return the value associated with the column: GROUPID
	 */
	public java.lang.String getGroupid () {
		return groupid;
	}

	/**
	 * Set the value related to the column: GROUPID
	 * @param groupid the GROUPID value
	 */
	public void setGroupid (java.lang.String groupid) {
		this.groupid = groupid;
	}



	/**
	 * Return the value associated with the column: ISGZ
	 */
	public java.lang.String getIsgz () {
		return isgz;
	}

	/**
	 * Set the value related to the column: ISGZ
	 * @param isgz the ISGZ value
	 */
	public void setIsgz (java.lang.String isgz) {
		this.isgz = isgz;
	}



	/**
	 * Return the value associated with the column: ISHXGZ
	 */
	public java.lang.String getIshxgz () {
		return ishxgz;
	}

	/**
	 * Set the value related to the column: ISHXGZ
	 * @param ishxgz the ISHXGZ value
	 */
	public void setIshxgz (java.lang.String ishxgz) {
		this.ishxgz = ishxgz;
	}


	public java.lang.String getSpell() {
		return spell;
	}

	public void setSpell(java.lang.String spell) {
		this.spell = spell;
	}

	public java.lang.String getSimpspell() {
		return simpspell;
	}

	public void setSimpspell(java.lang.String simpspell) {
		this.simpspell = simpspell;
	}

	/**
	 * Return the value associated with the column: CREATETIME
	 */
	public java.util.Date getCreatetime () {
		return createtime;
	}

	/**
	 * Set the value related to the column: CREATETIME
	 * @param createtime the CREATETIME value
	 */
	public void setCreatetime (java.util.Date createtime) {
		this.createtime = createtime;
	}



	/**
	 * Return the value associated with the column: REMARK
	 */
	public java.lang.String getRemark () {
		return remark;
	}

	/**
	 * Set the value related to the column: REMARK
	 * @param remark the REMARK value
	 */
	public void setRemark (java.lang.String remark) {
		this.remark = remark;
	}

	public java.lang.String getIntimate() {
		return intimate;
	}

	public void setIntimate(java.lang.String intimate) {
		this.intimate = intimate;
	}

	public boolean equals (Object obj) {
		if (null == obj) return false;
		if (!(obj instanceof com.lovejes.cuniao.domain.CnFriend)) return false;
		else {
			com.lovejes.cuniao.domain.CnFriend cnFriend = (com.lovejes.cuniao.domain.CnFriend) obj;
			if (null == this.getId() || null == cnFriend.getId()) return false;
			else return (this.getId().equals(cnFriend.getId()));
		}
	}

	public int hashCode () {
		if (Integer.MIN_VALUE == this.hashCode) {
			if (null == this.getId()) return super.hashCode();
			else {
				String hashStr = this.getClass().getName() + ":" + this.getId().hashCode();
				this.hashCode = hashStr.hashCode();
			}
		}
		return this.hashCode;
	}


	public String toString () {
		return super.toString();
	}


}